
export class TableColumn {
    field: string;
    label?: any;
    renderHeader?:any;
    type?: "default" | "selection" | "index" | "expand";
    condition?: any;
    showable?: boolean = true;
    width?: number;
    minWidth?:number;
    align?: "left" | "center" | "right" ;
    sortable?: boolean;
    fixed?: "left" | "right" | boolean;
}

export class WidgetFormField {
    field: string;
    label?: string;
    style?: string;
    type?: 'text'|'textarea'|'number'|'date'|'datetime'|'radioGroup'|'select'|'template'|'templateField'|'avatar'|'dateRange'|'checkboxGroup';
    component?: any;
    placeholder?: string;
    initVal?: string | number | boolean | any;
    readonly?: boolean;
    required?: {required: boolean, message: string, trigger?: string, validator?: any}[];
    config?: {
        input?: {clearable?: boolean},
        select?: {filterable?: boolean, remote?: boolean, reserveKeyword?: boolean, remoteShowSuffix?: boolean, remoteMethod?: any, clearable?: boolean, multiple?: boolean}
    };
    formatValFun?: any;
    hide?: boolean|any;
    options?: {label: string, value: string | number | boolean}[];
    atChange?: any;
}